package cn.tedu.csmall.product.pojo.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.Getter;
import lombok.experimental.Accessors;
import org.hibernate.validator.constraints.Range;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDateTime;

@Data //添加Lombok框架后，此注解可以帮助生成所有属性对应的Setters & Getters方法、hashCode()、equles()、toString()，要求此类的父类存在无参构造方法
//Lombok是在编译期添加上述的各个方法。所以在IDEA或其他开发开发工具中，默认情况下，直接调用以上各属性对应的Setters或Getters方法，
//在开发工具将无法提示这些方法，并且，已经写出的调用这些方法的代码会报错，为解决此问题，可以在开发工具安装Lombok插件
@Accessors(chain = true)  //支持链式写法
@Getter
public class AlbumAddNewDTO implements Serializable {

    /**
     * 相册名称
     */
    @ApiModelProperty(value = "相册名称",example = "小米10s相册",required = true) //value:对此变量的说明  example：举例子  required：是否必须填写（提醒作用，没有效果）
    @NotNull(message = "必须提交相册名称！！！")  //该注解表示该字段不为空
    private String name;

    /**
     * 相册简介
     */
    @ApiModelProperty(value = "相册简介",example = "小米10s相册的简介",required = true)
    @NotNull(message = "不惜提交相册简介！！！")
    private String description;

    /**
     * 自定义排序序号
     */
    @ApiModelProperty(value = "自定义排序序号",example = "88",required = true)
    @NotNull(message = "必须添加自定义排序序号！！！")
    @Range(min = 0,max = 99,message = "最大值为99，最小值为0")
    private Integer sort;
}
